package com.software.loginregister.activity;

import androidx.appcompat.app.AppCompatActivity;

import android.graphics.Color;
import android.graphics.Typeface;
import android.os.Bundle;
import android.view.View;
import android.widget.LinearLayout;
import android.widget.TextView;

import com.software.loginregister.R;

public class HelpDetailActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_help_detail);

        // 获取传入的参数
        String title = getIntent().getStringExtra("title");
        int type = getIntent().getIntExtra("type", 0);

        // 设置标题
        TextView tvTitle = findViewById(R.id.tv_title);
        if (title != null) {
            tvTitle.setText(title);
        }

        // 返回按钮点击事件
        findViewById(R.id.btn_help_detail_back).setOnClickListener(v -> finish());

        // 根据类型加载对应内容
        loadContent(type);
    }

    private void loadContent(int type) {
        LinearLayout contentContainer = findViewById(R.id.content_container);

        // 根据不同类型加载不同内容
        switch (type) {
            case 0: // 冰箱食材
                addQuestionAnswer(contentContainer, "在冰箱界面展示什么内容？",
                        "冰箱界面，可以作为简易的冰箱食材管理，可以保存用户所上传的食材，可以识别食材进行管理，即使使用者不认识这个食材也可以识别，也有智能ai告知用户大致保存时间等");
                addQuestionAnswer(contentContainer, "如何在冰箱界面添加食材？",
                        "打开冰箱界面，点击左上角相机的图标弹出选择方式，点击拍照，按照步骤即可进行拍照识别，点击从相册选择，选择图片进行识别，识别可支持多食材识别，识别的结果可以修改，点击保存可以");
                addQuestionAnswer(contentContainer, "如何在冰箱界面删除食材？",
                        "打开冰箱界面，长按食材，即可跳出提示框，点击确定即可删除。");
                addQuestionAnswer(contentContainer, "冰箱界面食材怎么展示？",
                        "在冰箱界面，如果看到食材保存时间为红色说明，食材已过推荐使用时间；如果为黄色说明，已经接近最佳使用时间，推荐尽快使用；如果为黑色，说明该食材还有一段的保存时间");
                break;

            case 1: // 推荐作品
                addQuestionAnswer(contentContainer, "如何发布作品？",
                        "点击首页底提示步骤操作即可。");
                addQuestionAnswer(contentContainer, "如何推荐作品？",
                        "根据您开始登录时选择的饮食偏好进行推荐。");
                break;

            case 2: // ai智厨
                addQuestionAnswer(contentContainer, "如何使用？",
                        "点击ai智厨进入智厨界面，点击下方输入框即可对话，并且可以查看历史记录，以及新建对话的功能");

                break;

            case 3: // 厨友圈
                addQuestionAnswer(contentContainer, "如何使用厨友圈？",
                        "点击厨友圈即可。");
                break;

            case 4: // 个人中心
                addQuestionAnswer(contentContainer, "如何修改个人信息？",
                        "点击进入我的界面，编辑资料，选择您想要修改的内容即可，目前支持呢称，个性签名，性别，年龄，手机号及邮箱等，修改完点击保存，下拉刷新即可看到修改完您的个人资料");

                break;
        }
    }

    // 动态添加问答项的辅助方法
    private void addQuestionAnswer(LinearLayout container, String question, String answer) {
        // 添加问题
        TextView questionView = new TextView(this);
        questionView.setLayoutParams(new LinearLayout.LayoutParams(
                LinearLayout.LayoutParams.MATCH_PARENT,
                LinearLayout.LayoutParams.WRAP_CONTENT));
        questionView.setText(question);
        questionView.setTextColor(getResources().getColor(R.color.black));
        questionView.setTextSize(16);
        questionView.setPadding(dpToPx(16), dpToPx(16), dpToPx(16), dpToPx(8));
        questionView.setTypeface(null, Typeface.BOLD);
        container.addView(questionView);

        // 添加答案
        TextView answerView = new TextView(this);
        answerView.setLayoutParams(new LinearLayout.LayoutParams(
                LinearLayout.LayoutParams.MATCH_PARENT,
                LinearLayout.LayoutParams.WRAP_CONTENT));
        answerView.setText(answer);
        answerView.setTextColor(Color.parseColor("#666666"));
        answerView.setTextSize(14);
        answerView.setPadding(dpToPx(16), dpToPx(8), dpToPx(16), dpToPx(16));
        container.addView(answerView);

        // 添加分割线
        View divider = new View(this);
        divider.setLayoutParams(new LinearLayout.LayoutParams(
                LinearLayout.LayoutParams.MATCH_PARENT,
                dpToPx(1)));
        divider.setBackgroundColor(Color.parseColor("#E0E0E0"));
        container.addView(divider);
    }

    // dp转px的辅助方法
    private int dpToPx(int dp) {
        float density = getResources().getDisplayMetrics().density;
        return Math.round(dp * density);
    }
}